輕鬆學會Python OpenCV:繪製基本幾何圖形
這篇文章介紹了使用OpenCV繪製基本幾何圖形的方法,步驟如下:首先需安裝opencv-python和numpy庫,導入庫後創建500x500的黑色畫布。 繪製圖形部分:直線用cv2.line,如從(50,50)到(450,450)的紅色抗鋸齒線;矩形用cv2.rectangle,支持輪廓(線寬3)和填充(線寬-1),如綠色輪廓矩形和藍色填充矩形;圓形用cv2.circle,支持輪廓(線寬5)和填充(線寬-1),如黃色輪廓圓和紅色填充圓;多邊形用cv2.polylines(輪廓)和cv2.fillPoly(填充),示例爲青色三角形輪廓和淺紅色四邊形填充。 最後用cv2.imshow顯示圖像,cv2.waitKey等待關閉。關鍵說明:顏色爲BGR格式(如紅色爲(0,0,255)),線寬-1表示填充,座標原點在圖像左上角。
閱讀全文Python OpenCV實戰:模板匹配與圖像定位
本文介紹使用Python OpenCV實現模板匹配的圖像定位方法。模板匹配核心是用“模板圖像”在目標圖像滑動,通過計算相似度找到最匹配區域,適用於簡單場景(如監控物體定位)。 步驟包括:準備目標與模板圖像,轉換爲灰度圖提高效率;使用`matchTemplate`(如`TM_CCOEFF_NORMED`方法)計算相似度矩陣;設置閾值(如0.8)篩選高相似度區域,並用`np.where`獲取位置;最後用矩形標記匹配結果並顯示保存。 注意:模板匹配僅適用於目標無旋轉、縮放的場景,複雜場景需改用ORB等特徵匹配;匹配方法和閾值需根據實際情況調整,閾值過高易漏檢,過低易誤檢。文章通過“蘋果定位”實戰示例,幫助入門者掌握基礎流程,適合快速實現簡單圖像定位任務。
閱讀全文零基礎學Python OpenCV:攝像頭即時捕獲與顯示
本文介紹了使用Python和OpenCV實現攝像頭即時捕獲與顯示的方法。選擇OpenCV(開源計算機視覺庫)和Python(語法簡潔)的原因在於其易用性和功能適配性,Python的opencv-python接口安裝便捷。 安裝步驟:需先安裝Python 3.6+,再通過`pip install opencv-python`安裝庫(必要時先裝numpy)。 核心流程:打開攝像頭(`cv2.VideoCapture(0)`)→循環讀取幀(`cap.read()`,返回ret和frame)→顯示圖像(`cv2.imshow()`)→按q鍵退出→釋放資源(`cap.release()`和`cv2.destroyAllWindows()`)。 關鍵代碼解釋:`cap.read()`檢查讀取狀態,`cv2.waitKey(1)`等待按鍵(q鍵退出),確保資源正確釋放避免佔用。文章還提及常見問題(如攝像頭無法打開)及擴展練習(灰度顯示、翻轉圖像等),爲後續複雜圖像處理奠定基礎。
閱讀全文Python OpenCV圖像縮放與裁剪:初學者必學技巧
本文介紹Python OpenCV中圖像縮放和裁剪的基礎操作,幫助零基礎掌握核心技巧。 **圖像縮放**:使用`cv2.resize()`函數,支持兩種目標尺寸指定方式:按比例縮放(通過`fx`/`fy`控制,如`fx=0.5`縮小一半)或直接指定寬高(如`(200, 200)`)。插值方法建議:縮小用`INTER_AREA`,放大用`INTER_LINEAR`,避免變形。示例中需注意圖像路徑正確性及窗口操作(`waitKey`和`destroyAllWindows`)。 **圖像裁剪**:本質是NumPy數組切片,格式爲`img[y_start:y_end, x_start:x_end]`,需確保座標不越界(`y_end`≤高度,`x_end`≤寬度)。示例包括固定區域裁剪和中心區域裁剪(先計算中心偏移量`(w-target_w)//2`和`(h-target_h)//2`,再切片)。 **總結**:縮放需注意路徑和插值方法,裁剪需關注座標範圍。兩者常結合使用(如先裁剪再縮放),是圖像預處理
閱讀全文手把手教你用Python OpenCV識別圖像輪廓
這篇文章介紹了用Python OpenCV實現圖像輪廓識別的方法。需先安裝OpenCV和NumPy庫。圖像輪廓是物體邊界線,用於定位目標物體(如人臉、圓形)。核心步驟包括:預處理(灰度化+二值化簡化圖像)、邊緣檢測(Canny算法,通過閾值確定邊界)、輪廓提取(findContours獲取座標)、篩選與繪製(按面積等篩選並可視化)。 實戰中以shapes.jpg爲例,演示流程:讀取圖像→灰度化+二值化→Canny邊緣檢測→findContours提取輪廓→按面積篩選最大輪廓並繪製。常見問題如輪廓不完整可調整Canny閾值,多餘輪廓通過面積過濾解決。還可擴展用圓形度等形狀特徵識別物體。 總結指出,輪廓識別是計算機視覺基礎,初學者可從簡單圖像入手,通過參數調整優化結果。
閱讀全文從入門到實戰:Python OpenCV色彩空間轉換詳解
本文介紹了圖像色彩空間的概念及OpenCV在Python中的轉換應用。常見色彩空間有RGB(顯示用,紅/綠/藍通道)、BGR(OpenCV默認,藍/綠/紅順序)、HSV(色相H、飽和度S、明度V,適合顏色分割)。轉換原因:不同空間用途不同(RGB顯示,HSV利於顏色識別,BGR爲OpenCV原生)。核心工具爲`cv2.cvtColor()`,語法爲`cv2.cvtColor(img, cv2.COLOR_原空間2目標空間)`,如`cv2.COLOR_BGR2HSV`。實戰中,以紅色物體識別爲例:讀取圖像→轉HSV→定義紅色HSV範圍(H分0-10和160-179區間)→掩碼提取。還可擴展至攝像頭即時檢測。關鍵點:掌握轉換函數,注意BGR與RGB差異,HSV範圍需依光線調整。
閱讀全文Python OpenCV入門:5分鐘掌握圖像二值化處理
圖像二值化是將像素按閾值分爲黑白兩類,簡化圖像便於分析,常用於文字識別等場景。核心是通過cv2.threshold()函數實現,需輸入灰度圖、閾值、最大值及類型,返回實際閾值和二值化圖像。常用閾值類型包括:THRESH_BINARY(像素>閾值變白)、THRESH_BINARY_INV(相反)、THRESH_OTSU(自動計算最優閾值)。閾值選擇:手動適用於亮度均勻圖像,Otsu適合高對比度場景;光照不均時用自適應閾值。關鍵步驟爲:讀取圖像轉灰度→選閾值類型→二值化處理→顯示。掌握二值化可支持邊緣檢測、目標分割等任務。
閱讀全文